Website powered by

Vertex animation texture driven flowers

Final result in Unreal Engine.

Darker scene to highlight my work.

Houdini work.

The local-positional data for each vertex is stored in a texture for every frame. The vertex shader reads the vertex animation texture and applies the encoded vertex positions to the corresponding vertices of the mesh.

The local-positional data for each vertex is stored in a texture for every frame. The vertex shader reads the vertex animation texture and applies the encoded vertex positions to the corresponding vertices of the mesh.

VAT master material setup

VAT master material setup

Controlling the growth speed and emissive intensity using Timeline, turning them into custom events, which is called upon in the player blueprint.

Controlling the growth speed and emissive intensity using Timeline, turning them into custom events, which is called upon in the player blueprint.

Logic for spawning my foliage actors with line-trace. Checking player movment and spawn Niagara system.

Logic for spawning my foliage actors with line-trace. Checking player movment and spawn Niagara system.

Bounce animation and Niagara system for player character.

As my first project, I wanted to tackle something new like Houdini and explore the concept of vertex-animated textures(vat).

I started simple, with the goal in mind of creating a controllable character surrounded by colorful foliage spawning around it. My first mission was to create the flowers and their animations. Relatively new to VEX, I stumbled across Junichiro Horikawa and his excellent guide on how to distribute points in a Fibonacci spiral. This helped me truly understand the flexibility of Houdini and how to customize my own workflow using simple VEX expressions. I then utilized the LABS Vertex Animation Texture node to render the animations into textures. The spawning and their behavior is constructed with blueprints in Unreal Engine. Using "Timelines" with "Set Scalar Parameter Value on Materials" enables me to control the speed of growth and emissive intensity. I also use line trace to spawn the actors on the ground with randomized rotation and scale.

The things I wished to change or add are more variations and smoother animations for my character, more variety of foliage, and more pronounced particles or decals, that emphasize an "aura" around my character.